﻿///*
// * GridCells
// * 
// * initial implementation : 20.11.2008
// *
// * Copyright (c) Adam Sida, asida@centrum.cz.
// * All rights reserved.
// * 
// * for license see Petra.Gis.License.txt
// */
//using System;
//using Petra.Gis.Geometry.Support;
//using System.Windows.Media.Imaging;


//namespace Petra.Gis.Geometry.GridSupport
//{
//  /// <summary>
//  /// represents direc access to Grid data by addresing its cells
//  /// </summary>
//  public abstract class GridCells
//  {

    
//    protected GridFrame _sourceFrame;



//    protected GridCells(GridFrame srcFrame, BoundingBox trueBounds)
//    {
//      _sourceFrame = srcFrame;
//      _bounds = trueBounds;

//      //todo: compute x,y, width and height in source grid


//      // compute rectangle from aproxBounds
//      // update _bounds
//      //throw new NotImplementedException();
//    }





//    protected BoundingBox _bounds;


//    public BoundingBox Bounds 
//    {
//      get { return _bounds; }
//      set { _bounds = value; }
//    }




//    //public BitmapSource Source
//    //{
//    //  get 
//    //  {
//    //    throw new NotImplementedException();
//    //    //return _block.Source.CopyPixels(); 
//    //  }
//    //}




//    public int Width 
//    {
//      get 
//      {
//        throw new NotImplementedException();
//      }
//    }





//    public int Height 
//    {
//      get
//      {
//        throw new NotImplementedException();
//      }
//    }




//    protected abstract Array gridData{get;}

//    // get grid data as array
//    // of grid instance specific type
//    public abstract Array Data { get; }




//    public virtual object Palette 
//    {
//      get { return _sourceFrame.Palette;} 
//    }


//    // copies GridCell data into destination
//    // destination must be Bitmap, BitmapSource or Array
//    // with apropriate format
//    public abstract void CopyCells(object target);



//    //public double this[int x, int y]
//    //{
//    //  get { return 1; }
//    //}
//  }


//}
